//import java.util.Scanner;
//
//public class Main {
//    public static int n,m,sum;
//    public static boolean[] st;
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        n = scanner.nextInt();
//        m = scanner.nextInt();
//        st = new boolean[n+1];
//        dfs(1);
//    }
//    public static void dfs(int u) {
//        if(sum == m) {
//            for(int i = 1; i<=n; i++) {
//                if(st[i]) {
//                    System.out.print(i + " ");
//                }
//            }
//            System.out.println();
//            return;
//        }
//
//        if(sum > m || u > n) {
//            return;
//        }
//
//        //选
//        sum += u;
//        st[u] = true;
//        dfs(u+1);
//        sum -= u;
//        st[u] = false;
//
//        //不选
//        dfs(u+1);
//    }
//}


import java.util.HashSet;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] hash = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};
        while (scanner.hasNextInt()) {
            int n = scanner.nextInt();
            PriorityQueue<String> queue = new PriorityQueue<>();
            Set<String> set = new HashSet<>();
            for(int i = 0; i<n; i++) {
                String str = scanner.next();
                StringBuffer ret = new StringBuffer();
                for(int j = 0; j<str.length(); j++) {
                    char ch = str.charAt(j);
                    if(ch>='0' && ch<='9') {
                        ret.append(ch);
                    }else if(ch >= 'A' && ch<= 'Z') {
                        ret.append((char)(hash[ch-'A']+'0'));
                    }
                    if(ret.length() == 3) {
                        ret.append('-');
                    }
                }
                if(!set.contains(ret.toString())) {
                    set.add(ret.toString());
                    queue.add(ret.toString());
                }
            }
            while(!queue.isEmpty()) {
                System.out.println(queue.poll());
            }
            System.out.println();
        }
    }
}